Skriptregeln

Inhalt dieses Abschnitts:

Wissenswertes über Skripregeln

Mithilfe von Skriptregeln können benutzerdefinierte Regeln unter Verwendung von Windows PowerShell oder VB Scripts erstellt werden. Der Erfolg oder das Fehlschlagen des Skriptes bestimmen, ob die Sicherheitsstufe sowie die zulässigen und verweigerten Elemente, die Teil der Regel sind, auf den Benutzer zutreffen.

Skriptregeln können jede Schnittstelle nutzen, die über PowerShell oder VBScript zugänglich ist, z. B. COM (Component Object Model).

Jedes Skript wird bei Vorliegen der folgenden Bedingungen bewertet:

  • Eine neue Konfiguration wird auf dem Computer bereitgestellt.
  • Ein Benutzer meldet sich an.

Wechseln Sie zum Erstellen oder Bearbeiten von Skripten zum erforderlichen Skriptregelsatz im Application Control-Konfigurationseditor. Regelsätze > Skriptbasiert > [Regelsatzname]

Mithilfe der folgenden Skriptregeloptionen können Sie definieren, wann das Skript ausgeführt werden soll:

  • Skript ausführen:
    • Pro Sitzung als Benutzer – Das Skript wird für jeden Benutzer ausgeführt, der sich anmeldet. Die Einstellungen werden nur für die Dauer der Benutzersitzung angewendet.
    • Pro Sitzung als System – Das Skript wird für jeden Benutzer, der sich anmeldet, einmal mit SYSTEM-Kontoberechtigungen ausgeführt. Die Einstellungen werden nur für die Dauer der Benutzersitzung angewendet.
    • Pro Computer als System – Das Skript wird einmalig beim Starten des Computers mit SYSTEM-Kontoberechtigungen ausgeführt. Die Einstellungen werden für alle Benutzersitzungen so lange angewendet, bis der Computer neu gestartet wird, der Application Control-Agent neu gestartet wird oder sich eine Konfiguration ändert.

    Achtung: Das Ausführen von Skripten als SYSTEM-Benutzer kann erheblichen Schaden auf dem Computer anrichten und sollte nur von erfahrenen Skriptautoren vorgenommen werden.

  • Warten, bis Anmeldung abgeschlossen ist – Wählen Sie diese Option aus, um zu verhindern, dass das Skript ausgeführt wird, während die Benutzeranmeldung noch im Gange ist.

VBScripts

Jedes Skript wird innerhalb eines gehosteten Skriptmoduls ausgeführt. So erhalten Sie mehr Kontrolle über die Skriptausführung sowie über die Eingabe und Ausgabe.

  • Es wird keine VBS-Datei verwendet.
  • Es wird kein separater Prozess erzeugt.

Ein Skript muss als Funktion geschrieben werden und kann zahlreiche Funktionen enthalten. Es muss jedoch eine Hauptstartfunktion festgelegt werden. Die Startfunktion wird vom Application Control Agent ausgeführt und kann dazu verwendet werden, andere Funktionen aufzurufen.

Das AMScriptRule COM-Objekt ist im Skriptmodul integriert und bietet Zugriff auf die folgenden Methoden:

  • strUsername = AMScriptRule.UserName
  • strUserdomain = AMScriptRule.UserDomain
  • strSessionid = AMScriptRule.SessionID
  • strStationname = AMScriptRule.WinStation

    Der Microsoft-Standard in dieser Instanz bewirkt, dass "WinStation" den Wert des Namens der Terminal Services-Sitzung zurückgibt. Dieser ergibt sich aus dem Sitzungstyp, dessen typische Werte "Console" oder "RDP-Tcp#34" lauten. Es wird nicht der Name der Arbeitsstation zurückgegeben, der in der Regel "WinSta0" lautet.

Das AMScriptRule COM-Objekt beinhaltet außerdem folgende Methoden:

  • strLog = AMScriptRule.Log "My Log Statement"

    Ermöglicht Ihnen die Ausgabe von Protokollierungszeichenfolgen an die Agentprotokolldatei zur Verwendung mit Skriptregeln für die Fehlerbehebung.

  • strEnvironmentvar = AMScriptRule.ExpandEnvironment ("%MyEnvironmentVariables%")

    Erweitert die Umgebungsvariablen des Benutzers, der das Skript ausführt.

Das Verwenden von WScript. shell zum Erweitern von Umgebungsvariablen gibt nur SYSTEM-Variablen zurück.

Windows-PowerShell-Skripte

Wenn das Skript den Wert 0 ausgibt oder mit 0 beendet wird, ist das Skript erfolgreich und die Regeln werden angewendet. Bei Ausgabe eines Werts ungleich null schlägt das Skript fehl und die Regeln werden nicht angewendet.

Jedes PowerShell-Skript wird in einer Instanz von PowerShell.exe ausgeführt. Application Control setzt daher keine bestimmte Syntax durch oder fügt Syntaxen hinzu. Jedes korrekt formatierte PowerShell-Skript funktioniert.

PowerShell muss auf allen Endpunkten installiert sein, die das Skript verwenden.

Beispielskripte

Verwandte Themen

Regelsätze

Regelsammlungen